package eu.floranet.repositorio.sql;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="sys_grupos")
public class SysGrupos implements Serializable {
	@Id
	private int idgrupos;

	@Column(name="grupo_nome")
	@Lob
	private String grupoNome;

	@Column(name="grupo_descritivo_nat")
	@Lob
	private String grupoDescritivo;

	@OneToMany(mappedBy="ugGrupo")
	private List<RelationUserGrupo> listaUserGrupo = new ArrayList<RelationUserGrupo>();

	private static final long serialVersionUID = 1L;

	public SysGrupos() {
		super();
	}

	public SysGrupos(String grupoNome, String grupoDescritivo) {
		this();
		setGrupoNome(grupoNome);
		setGrupoDescritivo(grupoDescritivo);
	}
	
	public int getIdgrupos() {
		return this.idgrupos;
	}

	public void setIdgrupos(int idgrupos) {
		this.idgrupos = idgrupos;
	}

	public String getGrupoNome() {
		return this.grupoNome;
	}

	public void setGrupoNome(String grupoNome) {
		this.grupoNome = grupoNome;
	}

	public String getGrupoDescritivo() {
		return this.grupoDescritivo;
	}

	public void setGrupoDescritivo(String grupoDescritivo) {
		this.grupoDescritivo = grupoDescritivo;
	}

	public List<RelationUserGrupo> getListaUserGrupo() {
		return this.listaUserGrupo;
	}

	public void setListaUserGrupo(List<RelationUserGrupo> listaUserGrupo) {
		this.listaUserGrupo = listaUserGrupo;
	}

	public RelationUserGrupo addRelationUserGrupo(RelationUserGrupo relationUserGrupo){
		getListaUserGrupo().add(relationUserGrupo);
		relationUserGrupo.setUgGrupo(this);
		return relationUserGrupo;
	}

	public RelationUserGrupo removeRelationUserGrupo(RelationUserGrupo relationUserGrupo){
		getListaUserGrupo().remove(relationUserGrupo);
		relationUserGrupo.setUgGrupo(null);
		return relationUserGrupo;
	}
}
